#include "stdio.h"
#include "stdlib.h"

// 假设这里有一个计算阶乘的函数
long long factorial(int k) {
    long long result = 1;
    for (int i = 2; i <= k; i++) {
        result *= i;
    }
    return result;
}

// 计算组合数C(m, n)的函数
unsigned long long combination(int m, int n) {
    if (m > n) {
        return 0; // 如果m大于n，‌返回0，‌因为这种情况下没有有效的组合
    }
    return factorial(n) / (factorial(m) * factorial(n - m));
}

int main(int argc, char *argv[]) {
    if (argc != 2) {
        printf("need one argc\n");
        return 1;
    }
    int n = 1, k = 1, m = 1; // 示例输入
    n = atoi(argv[1]);
    for (k = 1; k <= n; k++) {
        for (m = 1; m <= k; m++) {
            // printf("C(%d, %d): ", m, k);
            printf("C(%d, %d):%llu\t", m, k, combination(m , k)); // 输出计算结果
        }
        printf("\n");
    }
    // while (m <= n) {
    //     printf("C(%d, %d) = %llu\n", n, m, combination(n, m)); // 输出计算结果
    //     m++;
    // }
    return 0;
}
